package net.xuzhen97.distributed.transaction.order.dao;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * rocketmq 事务消息回滚日志
 *  作用：
 *      1. 判断事务是否执行
 *      2. 如果其它系统造成问题必须要回滚，提供日志可以针对性补偿
 * @author xuzhen97
 */
@Data
@TableName
public class RocketmqUndoLog {
    /**
     * 事务id
     */
    @TableId
    private String trxId;
    /**
     * 业务分类
     */
    private String business;
    /**
     * 旧数据
     */
    private String oldData;
    /**
     * 新数据
     */
    private String newData;
    /**
     * 是否回滚
     */
    @TableField("is_rollback")
    private Boolean rollback;
    /**
     * 创建时间
     */
    private LocalDateTime createdDate;
    /**
     * 创建人
     */
    private String createdBy;
    /**
     * 最后修改时间
     */
    private LocalDateTime lastModifiedDate;
    /**
     * 最后修改人
     */
    private String lastModifiedBy;
    /**
     * 备注
     */
    private String remarks;
}
